/**************************************************************************
	Replication do-file: "Corruption in Customs"
	Cyril Chalendard, Ana Fernandes, Gael Raballand and Bob Rijkers
	
	Created on: 01/07/2022
**************************************************************************/

clear all
set more off, perm
cap log close
cls

* ----------------------- DIRECTORIES AND FOLDERS ----------------------- *

* Directories in which data are stored
global main "PUT YOUR DIRECTORY PATH HERE"
cd "$folder"

* Folders
global outputdata = "$main\Output Data"
cap mkdir "$main\Tables"
global tables = "$main\Tables"

* ----------------------------- BEGINS HERE ----------------------------- *

* -------
* Dataset
* -------
use "$outputdata\CFRR.dta", clear // open dataset

* Sample
keep if sample_int==1 & eis_f!=. // keep observations of interest


* ---------
* Table A15
* ---------

* Globals
global dep "ln_time fraud c1_dlog_val c1_dlog_tax htrl_f_int"
global controls "tax_rate risk red_i mixed_dec differentiated valitrade_advice"

* Matrix
** Panels with one independent variable of interest
forvalues x = 1(1)4 {
	mat tableA15_`x' = J(4,5,.)
	mat tableA15_`x'T = J(1,5,.)
}

* Loop for estimations
** Panel A: inspector-semester broker-semester FE
local i = 1
local j = 1
foreach x in $dep {

	qui: reghdfe `x' eis_f $controls countryorig* max_twodigit* if sample_reg==1 , absorb(is bs ym_*) vce(cluster insp_f key_dec)

	mat tableA15_1[`i',`j'] = _b[eis_f]
	local i = `i' + 1
	mat tableA15_1[`i',`j'] = _se[eis_f]
	mat tableA15_1T[1,`j'] = e(N)
	local i = `i' + 2
	mat tableA15_1[`i',`j'] = e(r2)
	local i = `i' -3
	local j = `j' +1
}
** Panel B: inspector-semester broker-semester importer-semester FE
local i = 1
local j = 1
foreach x in $dep {

	qui: reghdfe `x' eis_f $controls countryorig* max_twodigit* if sample_reg==1 , absorb(is bs ms ym_*) vce(cluster insp_f key_dec)

	mat tableA15_2[`i',`j'] = _b[eis_f]
	local i = `i' + 1
	mat tableA15_2[`i',`j'] = _se[eis_f]
	mat tableA15_2T[1,`j'] = e(N)
	local i = `i' + 2
	mat tableA15_2[`i',`j'] = e(r2)
	local i = `i' -3
	local j = `j' +1
}
** Panel C: inspector-month broker-month FE
local i = 1
local j = 1
foreach x in $dep {

	qui: reghdfe `x' eis_f $controls countryorig* max_twodigit* if sample_reg==1 , absorb(imo bmo) vce(cluster insp_f key_dec)

	mat tableA15_3[`i',`j'] = _b[eis_f]
	local i = `i' + 1
	mat tableA15_3[`i',`j'] = _se[eis_f]
	mat tableA15_3T[1,`j'] = e(N)
	local i = `i' + 2
	mat tableA15_3[`i',`j'] = e(r2)
	local i = `i' -3
	local j = `j' +1
}
** Panel D: importer-broker FE
local i = 1
local j = 1
foreach x in $dep {

	qui: reghdfe `x' eis_f $controls countryorig* max_twodigit* if sample_reg==1 , absorb(bm insp_f ym_*) vce(cluster insp_f key_dec)

	mat tableA15_4[`i',`j'] = _b[eis_f]
	local i = `i' + 1
	mat tableA15_4[`i',`j'] = _se[eis_f]
	mat tableA15_4T[1,`j'] = e(N)
	local i = `i' + 2
	mat tableA15_4[`i',`j'] = e(r2)
	local i = `i' -3
	local j = `j' +1
}


* Export
* ------
putexcel set "$tables\Table A15.xlsx", replace sheet(TableA15) // create a new excel spreadsheet

* Title
putexcel (A1:F1), merge hcenter vcenter
putexcel A1 = "Before delegated randomization of inspector assignment"

* Dependent variables
putexcel A2 = "Dependent variable:", left vcenter bold
local cells `" "B" "C" "D" "E" "F" "'
local labels `" "Time" "Fraud" "\Delta log value" "\Delta log tax" "Hyp. tax revenue losses" "'
forvalues i = 1(1)5 {

	local x: word `i' of `labels'
	local y: word `i' of `cells'

	putexcel `y'2 = "`x'", hcenter vcenter bold	
}

* Panels
** Name
local y = 4
local labels `" "A. Controlling for Inspector-Semester and Broker-Semester Fixed Effects" "B. Controlling for Inspector-Semester, Broker-Semester, and Importer-Semester Fixed Effects" "C. Controlling for Inspector-Month and Broker-Month Fixed Effects" "D. Controlling for Importer-Broker Fixed Effects" "'
forvalues i = 1(1)4 {

	local x: word `i' of `labels'

	putexcel (A`y':F`y'), merge hcenter vcenter bold
	putexcel A`y' = "`x'"
	local y = `y'+7
}
** Coefficients
local j = 1
forvalues i = 6(7)28 {
	
	putexcel A`i' = "Excess interaction share", left vcenter
	putexcel B`i' = matrix(tableA15_`j'), nformat(0.000) hcenter vcenter
	local j = `j'+1
}
** Observations
local j = 1
forvalues i = 8(7)29 {
	
	putexcel A`i' = "Observations", left vcenter
	putexcel B`i' = matrix(tableA15_`j'T), nformat(number_sep) hcenter vcenter
	local j = `j'+1
}
** R2
forvalues i = 9(7)30 {
	putexcel A`i' = "R-squared", left vcenter
}
** Column numbers
global cells "B C D E F B C D E F B C D E F B C D E F"
forvalues i = 1(1)20 {
	
	local y: word `i' of $cells

	if `i' < 6 {
		putexcel `y'5 = "(`i')", hcenter vcenter
	}
	
	if `i' > 5 & `i' < 11 {
		putexcel `y'12 = "(`i')", hcenter vcenter
	}
	
	if `i' > 10 & `i' < 16 {
		putexcel `y'19 = "(`i')", hcenter vcenter
	}
	
	if `i' > 15 {
		putexcel `y'26 = "(`i')", hcenter vcenter
	}
}
macro drop cells


* -------------------------------- ENDS HERE -------------------------------- *